home *** CD-ROM | disk | FTP | other *** search
/ Word Play Farm / Word Play Farm.iso / pc / movies / shared.dxr / 00510_Data Handers.ls < prev    next >
Encoding:
Text File  |  1996-07-29  |  2.3 KB  |  95 lines

  1. on ReadFile pFileObj
  2.   pFileObj(mSetPosition, 0)
  3.   set lFileSize to pFileObj(mGetLength)
  4.   set lStrData to EMPTY
  5.   repeat while pFileObj(mGetPosition) <= lFileSize
  6.     set lLine to pFileObj(mReadLine)
  7.     if lLine contains numToChar(26) then
  8.       exit repeat
  9.     end if
  10.     put lLine after lStrData
  11.   end repeat
  12.   set lStrLen to the length of lStrData - 1
  13.   set lStrData to chars(lStrData, 1, lStrLen)
  14.   return lStrData
  15. end
  16.  
  17. on writedata pDataList, pStart, pStep
  18.   set lNumItems to count(pDataList)
  19.   if voidp(pStep) then
  20.     set pStep to 1
  21.   end if
  22.   if voidp(pStart) then
  23.     set pStart to 1
  24.   end if
  25.   set lDataStr to EMPTY
  26.   repeat while pStart <= lNumItems
  27.     put getAt(pDataList, pStart) after lDataStr
  28.     put RETURN after lDataStr
  29.     set pStart to pStart + pStep
  30.   end repeat
  31.   put numToChar(26) after lDataStr
  32.   return lDataStr
  33. end
  34.  
  35. on ReadData pDataString
  36.   set lNumItems to the number of lines in pDataString
  37.   set lDataList to []
  38.   repeat with i = 1 to lNumItems
  39.     set lTempString to line i of pDataString
  40.     append(lDataList, lTempString)
  41.   end repeat
  42.   return lDataList
  43. end
  44.  
  45. on CopyData pDataSrc, pStart, pEnd
  46.   if voidp(pStart) then
  47.     set pStart to 1
  48.   end if
  49.   if voidp(pEnd) then
  50.     set pEnd to count(pDataSrc)
  51.   end if
  52.   set lDataList to []
  53.   repeat with i = pStart to pEnd
  54.     set lTempStr to getAt(pDataSrc, i)
  55.     append(lDataList, lTempStr)
  56.   end repeat
  57.   return lDataList
  58. end
  59.  
  60. on AppendAt pDataDest, pDataSrc
  61.   set lNumItems to count(pDataSrc)
  62.   repeat with i = 1 to lNumItems
  63.     set lTempStr to getAt(pDataSrc, i)
  64.     append(pDataDest, lTempStr)
  65.   end repeat
  66.   return pDataDest
  67. end
  68.  
  69. on InsertAT pSrcData, pDestData, pStart
  70.   set lSrcLen to count(pSrcData)
  71.   repeat with i = 1 to lSrcLen
  72.     set lTemp to getAt(pSrcData, i)
  73.     set lDestLoc to i + pStart - 1
  74.     setAt(pDestData, lDestLoc, lTemp)
  75.   end repeat
  76.   return pDestData
  77. end
  78.  
  79. on SearchReplace pDataStr, pSearch, pReplace
  80.   set lOldStr to pDataStr
  81.   set retloc to offset(pSearch, lOldStr)
  82.   set lSrcLen to the length of pSearch
  83.   repeat while retloc > 0
  84.     set lStrLen to the length of lOldStr
  85.     set lNewStr to chars(lOldStr, 1, retloc - 1)
  86.     if voidp(pReplace) <> 1 then
  87.       put pReplace after lNewStr
  88.     end if
  89.     put chars(lOldStr, retloc + lSrcLen, lStrLen) after lNewStr
  90.     set lOldStr to lNewStr
  91.     set retloc to offset(pSearch, lOldStr)
  92.   end repeat
  93.   return lOldStr
  94. end
  95.